<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstAudioBaseSrc: GStreamer Base Plugins 1.0 Library Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-audio.html" title="Audio Library">
<link rel="prev" href="GstAudioBaseSink.html" title="GstAudioBaseSink">
<link rel="next" href="gst-plugins-base-libs-Audio-channels.html" title="Audio-channels">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#GstAudioBaseSrc.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#GstAudioBaseSrc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#GstAudioBaseSrc.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="gstreamer-audio.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GstAudioBaseSink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gst-plugins-base-libs-Audio-channels.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GstAudioBaseSrc"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GstAudioBaseSrc.top_of_page"></a>GstAudioBaseSrc</span></h2>
<p>GstAudioBaseSrc — Base class for audio sources</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GstAudioBaseSrc.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="GstAudioBaseSrc.html#GST-AUDIO-BASE-SRC-CLOCK:CAPS" title="GST_AUDIO_BASE_SRC_CLOCK()">GST_AUDIO_BASE_SRC_CLOCK</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="GstAudioBaseSrc.html#GST-AUDIO-BASE-SRC-PAD:CAPS" title="GST_AUDIO_BASE_SRC_PAD()">GST_AUDIO_BASE_SRC_PAD</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstAudioRingBuffer.html" title="GstAudioRingBuffer"><span class="returnvalue">GstAudioRingBuffer</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstAudioBaseSrc.html#gst-audio-base-src-create-ringbuffer" title="gst_audio_base_src_create_ringbuffer ()">gst_audio_base_src_create_ringbuffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstAudioBaseSrc.html#gst-audio-base-src-set-provide-clock" title="gst_audio_base_src_set_provide_clock ()">gst_audio_base_src_set_provide_clock</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GstAudioBaseSrc.html#gst-audio-base-src-get-provide-clock" title="gst_audio_base_src_get_provide_clock ()">gst_audio_base_src_get_provide_clock</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrcSlaveMethod" title="enum GstAudioBaseSrcSlaveMethod"><span class="returnvalue">GstAudioBaseSrcSlaveMethod</span></a>
</td>
<td class="function_name">
<a class="link" href="GstAudioBaseSrc.html#gst-audio-base-src-get-slave-method" title="gst_audio_base_src_get_slave_method ()">gst_audio_base_src_get_slave_method</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstAudioBaseSrc.html#gst-audio-base-src-set-slave-method" title="gst_audio_base_src_set_slave_method ()">gst_audio_base_src_set_slave_method</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GstAudioBaseSrc.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a></td>
<td class="property_name"><a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrc--actual-buffer-time" title="The “actual-buffer-time” property">actual-buffer-time</a></td>
<td class="property_flags">Read</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a></td>
<td class="property_name"><a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrc--actual-latency-time" title="The “actual-latency-time” property">actual-latency-time</a></td>
<td class="property_flags">Read</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a></td>
<td class="property_name"><a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrc--buffer-time" title="The “buffer-time” property">buffer-time</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a></td>
<td class="property_name"><a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrc--latency-time" title="The “latency-time” property">latency-time</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrc--provide-clock" title="The “provide-clock” property">provide-clock</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrcSlaveMethod" title="enum GstAudioBaseSrcSlaveMethod"><span class="type">GstAudioBaseSrcSlaveMethod</span></a></td>
<td class="property_name"><a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrc--slave-method" title="The “slave-method” property">slave-method</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GstAudioBaseSrc.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrc-struct" title="struct GstAudioBaseSrc">GstAudioBaseSrc</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrcClass" title="struct GstAudioBaseSrcClass">GstAudioBaseSrcClass</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrcSlaveMethod" title="enum GstAudioBaseSrcSlaveMethod">GstAudioBaseSrcSlaveMethod</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GstAudioBaseSrc.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
    <span class="lineart">╰──</span> GstAudioBaseSrcSlaveMethod
    <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a>
            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GstElement-struct">GstElement</a>
                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0/GstBaseSrc.html#GstBaseSrc-struct">GstBaseSrc</a>
                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0/GstPushSrc.html#GstPushSrc-struct">GstPushSrc</a>
                        <span class="lineart">╰──</span> GstAudioBaseSrc
                            <span class="lineart">╰──</span> <a class="link" href="GstAudioSrc.html" title="GstAudioSrc">GstAudioSrc</a>
</pre>
</div>
<div class="refsect1">
<a name="GstAudioBaseSrc.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gst/audio/audio.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GstAudioBaseSrc.description"></a><h2>Description</h2>
<p>This is the base class for audio sources. Subclasses need to implement the
::create_ringbuffer vmethod. This base class will then take care of
reading samples from the ringbuffer, synchronisation and flushing.</p>
</div>
<div class="refsect1">
<a name="GstAudioBaseSrc.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GST-AUDIO-BASE-SRC-CLOCK:CAPS"></a><h3>GST_AUDIO_BASE_SRC_CLOCK()</h3>
<pre class="programlisting">#define GST_AUDIO_BASE_SRC_CLOCK(obj)    (GST_AUDIO_BASE_SRC (obj)-&gt;clock)
</pre>
<p>Get the <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstClock.html#GstClock-struct"><span class="type">GstClock</span></a> of <em class="parameter"><code>obj</code></em>
.</p>
<div class="refsect3">
<a name="GST-AUDIO-BASE-SRC-CLOCK.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>obj</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-AUDIO-BASE-SRC-PAD:CAPS"></a><h3>GST_AUDIO_BASE_SRC_PAD()</h3>
<pre class="programlisting">#define GST_AUDIO_BASE_SRC_PAD(obj)      (GST_BASE_SRC (obj)-&gt;srcpad)
</pre>
<p>Get the source <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> of <em class="parameter"><code>obj</code></em>
.</p>
<div class="refsect3">
<a name="GST-AUDIO-BASE-SRC-PAD.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>obj</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-audio-base-src-create-ringbuffer"></a><h3>gst_audio_base_src_create_ringbuffer ()</h3>
<pre class="programlisting"><a class="link" href="GstAudioRingBuffer.html" title="GstAudioRingBuffer"><span class="returnvalue">GstAudioRingBuffer</span></a> *
gst_audio_base_src_create_ringbuffer (<em class="parameter"><code><a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> *src</code></em>);</pre>
<p>Create and return the <a class="link" href="GstAudioRingBuffer.html" title="GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> for <em class="parameter"><code>src</code></em>
. This function will call
the ::create_ringbuffer vmethod and will set <em class="parameter"><code>src</code></em>
 as the parent of the
returned buffer (see <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#gst-object-set-parent"><code class="function">gst_object_set_parent()</code></a>).</p>
<div class="refsect3">
<a name="gst-audio-base-src-create-ringbuffer.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>src</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gst-audio-base-src-create-ringbuffer.returns"></a><h4>Returns</h4>
<p>The new ringbuffer of <em class="parameter"><code>src</code></em>
. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-audio-base-src-set-provide-clock"></a><h3>gst_audio_base_src_set_provide_clock ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_audio_base_src_set_provide_clock (<em class="parameter"><code><a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> *src</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> provide</code></em>);</pre>
<p>Controls whether <em class="parameter"><code>src</code></em>
 will provide a clock or not. If <em class="parameter"><code>provide</code></em>
 is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>,
<a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#gst-element-provide-clock"><code class="function">gst_element_provide_clock()</code></a> will return a clock that reflects the datarate
of <em class="parameter"><code>src</code></em>
. If <em class="parameter"><code>provide</code></em>
 is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#gst-element-provide-clock"><code class="function">gst_element_provide_clock()</code></a> will return NULL.</p>
<div class="refsect3">
<a name="gst-audio-base-src-set-provide-clock.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>src</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>provide</p></td>
<td class="parameter_description"><p>new state</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-audio-base-src-get-provide-clock"></a><h3>gst_audio_base_src_get_provide_clock ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_audio_base_src_get_provide_clock (<em class="parameter"><code><a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> *src</code></em>);</pre>
<p>Queries whether <em class="parameter"><code>src</code></em>
 will provide a clock or not. See also
gst_audio_base_src_set_provide_clock.</p>
<div class="refsect3">
<a name="gst-audio-base-src-get-provide-clock.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>src</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gst-audio-base-src-get-provide-clock.returns"></a><h4>Returns</h4>
<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>src</code></em>
will provide a clock.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-audio-base-src-get-slave-method"></a><h3>gst_audio_base_src_get_slave_method ()</h3>
<pre class="programlisting"><a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrcSlaveMethod" title="enum GstAudioBaseSrcSlaveMethod"><span class="returnvalue">GstAudioBaseSrcSlaveMethod</span></a>
gst_audio_base_src_get_slave_method (<em class="parameter"><code><a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> *src</code></em>);</pre>
<p>Get the current slave method used by <em class="parameter"><code>src</code></em>
.</p>
<div class="refsect3">
<a name="gst-audio-base-src-get-slave-method.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>src</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gst-audio-base-src-get-slave-method.returns"></a><h4>Returns</h4>
<p> The current slave method used by <em class="parameter"><code>src</code></em>
.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-audio-base-src-set-slave-method"></a><h3>gst_audio_base_src_set_slave_method ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_audio_base_src_set_slave_method (<em class="parameter"><code><a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> *src</code></em>,
                                     <em class="parameter"><code><a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrcSlaveMethod" title="enum GstAudioBaseSrcSlaveMethod"><span class="type">GstAudioBaseSrcSlaveMethod</span></a> method</code></em>);</pre>
<p>Controls how clock slaving will be performed in <em class="parameter"><code>src</code></em>
.</p>
<div class="refsect3">
<a name="gst-audio-base-src-set-slave-method.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>src</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>method</p></td>
<td class="parameter_description"><p>the new slave method</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="GstAudioBaseSrc.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GstAudioBaseSrc-struct"></a><h3>struct GstAudioBaseSrc</h3>
<pre class="programlisting">struct GstAudioBaseSrc;</pre>
<p>Opaque <a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a>.</p>
</div>
<hr>
<div class="refsect2">
<a name="GstAudioBaseSrcClass"></a><h3>struct GstAudioBaseSrcClass</h3>
<pre class="programlisting">struct GstAudioBaseSrcClass {
  GstPushSrcClass      parent_class;

  /* subclass ringbuffer allocation */
  GstAudioRingBuffer* (*create_ringbuffer)  (GstAudioBaseSrc *src);
};
</pre>
<p><a class="link" href="GstAudioBaseSrc.html" title="GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> class. Override the vmethod to implement
functionality.</p>
<div class="refsect3">
<a name="GstAudioBaseSrcClass.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody><tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioBaseSrcClass.create-ringbuffer"></a>create_ringbuffer</code></em> ()</p></td>
<td class="struct_member_description"><p>create and return a <a class="link" href="GstAudioRingBuffer.html" title="GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to read from.</p></td>
<td class="struct_member_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GstAudioBaseSrcSlaveMethod"></a><h3>enum GstAudioBaseSrcSlaveMethod</h3>
<p>Different possible clock slaving algorithms when the internal audio clock was
not selected as the pipeline clock.</p>
<div class="refsect3">
<a name="GstAudioBaseSrcSlaveMethod.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SRC-SLAVE-RESAMPLE:CAPS"></a>GST_AUDIO_BASE_SRC_SLAVE_RESAMPLE</p></td>
<td class="enum_member_description">
<p>Resample to match the master clock.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SRC-SLAVE-RE-TIMESTAMP:CAPS"></a>GST_AUDIO_BASE_SRC_SLAVE_RE_TIMESTAMP</p></td>
<td class="enum_member_description">
<p>Retimestamp output buffers with master
clock time.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SRC-SLAVE-SKEW:CAPS"></a>GST_AUDIO_BASE_SRC_SLAVE_SKEW</p></td>
<td class="enum_member_description">
<p>Adjust capture pointer when master clock
drifts too much.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SRC-SLAVE-NONE:CAPS"></a>GST_AUDIO_BASE_SRC_SLAVE_NONE</p></td>
<td class="enum_member_description">
<p>No adjustment is done.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="GstAudioBaseSrc.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GstAudioBaseSrc--actual-buffer-time"></a><h3>The <code class="literal">“actual-buffer-time”</code> property</h3>
<pre class="programlisting">  “actual-buffer-time”       <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
<p>Actual configured size of audio buffer in microseconds.</p>
<p>Flags: Read</p>
<p>Allowed values: &gt;= -1</p>
<p>Default value: -1</p>
</div>
<hr>
<div class="refsect2">
<a name="GstAudioBaseSrc--actual-latency-time"></a><h3>The <code class="literal">“actual-latency-time”</code> property</h3>
<pre class="programlisting">  “actual-latency-time”      <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
<p>Actual configured audio latency in microseconds.</p>
<p>Flags: Read</p>
<p>Allowed values: &gt;= -1</p>
<p>Default value: -1</p>
</div>
<hr>
<div class="refsect2">
<a name="GstAudioBaseSrc--buffer-time"></a><h3>The <code class="literal">“buffer-time”</code> property</h3>
<pre class="programlisting">  “buffer-time”              <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
<p>Size of audio buffer in microseconds. This is the maximum amount of data that is buffered in the device and the maximum latency that the source reports. This value might be ignored by the element if necessary; see "actual-buffer-time".</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &gt;= 1</p>
<p>Default value: 200000</p>
</div>
<hr>
<div class="refsect2">
<a name="GstAudioBaseSrc--latency-time"></a><h3>The <code class="literal">“latency-time”</code> property</h3>
<pre class="programlisting">  “latency-time”             <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
<p>The minimum amount of data to read in each iteration in microseconds. This is the minimum latency that the source reports. This value might be ignored by the element if necessary; see "actual-latency-time".</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &gt;= 1</p>
<p>Default value: 10000</p>
</div>
<hr>
<div class="refsect2">
<a name="GstAudioBaseSrc--provide-clock"></a><h3>The <code class="literal">“provide-clock”</code> property</h3>
<pre class="programlisting">  “provide-clock”            <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Provide a clock to be used as the global pipeline clock.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstAudioBaseSrc--slave-method"></a><h3>The <code class="literal">“slave-method”</code> property</h3>
<pre class="programlisting">  “slave-method”             <a class="link" href="GstAudioBaseSrc.html#GstAudioBaseSrcSlaveMethod" title="enum GstAudioBaseSrcSlaveMethod"><span class="type">GstAudioBaseSrcSlaveMethod</span></a></pre>
<p>Algorithm used to match the rate of the masterclock.</p>
<p>Flags: Read / Write</p>
<p>Default value: GST_AUDIO_BASE_SRC_SLAVE_SKEW</p>
</div>
</div>
<div class="refsect1">
<a name="GstAudioBaseSrc.see-also"></a><h2>See Also</h2>
<p><a class="link" href="GstAudioSrc.html" title="GstAudioSrc"><span class="type">GstAudioSrc</span></a>, <a class="link" href="GstAudioRingBuffer.html" title="GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a>.</p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28</div>
</body>
</html>